草庐IT

xml - 如何用nokogiri解析xml文件并将结果放入新文件中?

全部标签

ruby - 我怎样才能可靠地发现 Ruby 可执行文件的完整路径?

我想写一个脚本,打包成一个gem,它将修改它的参数,然后用修改后的参数exec一个新的ruby进程。换句话说,类似于修改其参数然后执行exec$SHELL$*的shell脚本。为此,我需要一种可靠的方法来发现正在执行当前脚本的ruby​​可执行文件的路径。我还需要获取传递给当前进程的完整参数——Ruby参数和脚本参数。 最佳答案 Rake源代码是这样的:RUBY=File.join(Config::CONFIG['bindir'],Config::CONFIG['ruby_install_name']).sub(/.*\s.*/m,

Ruby mp3 Id3解析

目前我正在从事一个音乐项目,处理用户上传的mp3。问题是我找不到对所有文件都能正常工作的id3库。我已经尝试过id3-ruby和Mp3Info库,但它们都没有给我始终如一的正确结果。例如,最常见的问题:错误的流参数(比特率和采样率,有时是持续时间)不支持扩展标签我决定添加一个表单,用户可以在其中提供艺术家和标题等可选信息;这有点帮助,但并没有完全解决问题。最有用、最强大的ruby​​ID3库是什么? 最佳答案 http://www.hakubi.us/ruby-taglib/我将它用于一个项目并且效果很好。taglib的包装器,非常

ruby - 在 Ruby 中解析二进制文件

我需要能够使用Ruby解析二进制文件。此文件包含通过header找到的数据block,header包括文件偏移量和每个block的长度。如何正确取出数据?到目前为止,我一直无法根据我读出的偏移量在文件中四处寻找,因为它们以我不知道如何转换为IO#seek理解的格式的字符串形式出现。有什么帮助吗?将偏移量和长度转换为可用值(如整数或其他值)的通用方法会有所帮助。 最佳答案 你想要String#unpack. 关于ruby-在Ruby中解析二进制文件,我们在StackOverflow上找到一

ruby - 使用 Nokogiri(而不是 Tidy)清理 HTML

tidygem不再维护并且存在多个内存泄漏问题。有些人建议使用Nokogiri。我目前正在使用以下方法清理HTML:Nokogiri::HTML::DocumentFragment.parse(html).to_html不过我有两个问题:Nokogiri删除了DOCTYPE有没有一种简单的方法可以强制清理后的HTML具有html和body标签? 最佳答案 如果您正在处理完整文档,您需要:Nokogiri::HTML(html).to_html这将强制html和body标签,并引入或保留DOCTYPE:putsNokogiri::HT

ruby - 为 Heroku 静态编译 pdftk。需要将 PDF 拆分为单页文件

所以我们使用heroku来托管我们的rails应用程序。我们搬到了雪松堆。此堆栈未安装pdftk库。我联系了支持人员,被告知为amd64ubuntu静态编译它并将其包含在我的应用程序中。事实证明,这比我想象的要难。最初我下载了ubuntu的包(http://packages.ubuntu.com/natty/pdftk),将其解压缩,并包含二进制文件和共享库。我收到奇怪的错误,例如:UnhandledJavaException:java.lang.NullPointerExceptionatcom.lowagie.text.pdf.PdfCopy.copyIndirect(pdftk)

ruby - 为什么我不能在 ruby​​ 的父目录中要求一个文件?

请注意,我没有使用Rails。我的目录结构如下:foo/bar/base_classes/base_classes.rb基础类.rb:Dir.glob(File.expand_path(File.join("base_classes/config/constants","*.rb"))){|file|requirefile}Dir.glob(File.expand_path(File.join("base_classes","*.rb"))){|file|requirefile}当我在这个根目录下>>require'base_classes'#=>true>>Card.load![st

ruby - 使用 ruby​​ 流式传输和解压缩大型 csv 文件

我遇到问题,我需要下载、解压缩,然后逐行处理一个非常大的CSV文件。我认为让您了解文件有多大很有用:big_file.zip~700mbbig_file.csv~23gb这是我希望发生的一些事情:解压缩前不必下载整个文件在解析csv行之前不必解压缩整个文件在执行所有这些操作时不要占用太多内存/磁盘我不知道这是否可能。这是我的想法:require'open-uri'require'rubyzip'require'csv'open('http://foo.bar/big_file.zip')do|zipped|Zip::InputStream.open(zipped)do|unzipped

ruby - 从 Ruby 中的字符串解析十进制值

我有一个包含十进制数字的Ruby字符串。将其转换为小数(定点)的最佳方法是什么?“最佳”是指:可靠,提供多种输入选项写起来简单易于阅读干...大致按照这个顺序。 最佳答案 (经过一番挖掘,我自己找到了它)BigDecimal是标准的Ruby定点类型,它的构造函数接受一个String并为您处理解析:BigDecimal.new("123.45") 关于ruby-从Ruby中的字符串解析十进制值,我们在StackOverflow上找到一个类似的问题: https:

ruby-on-rails - 没有要加载的文件 -- bundler/setup

我正在尝试让Rails在Rackspace服务器上运行,不幸的是,它们不支持Rails。我在Ubuntu上使用Apache和Passenger(没有RVM)。当我访问服务器时,出现以下错误:nosuchfiletoload--bundler/setup回溯如下:/usr/lib/ruby/1.8/rubygems/custom_require.rb31ingem_original_require'/usr/lib/ruby/1.8/rubygems/custom_require.rb31inrequire'/rails/gradebook-attendance/config/boot.

ruby - 如何在 Ruby 中将数据 URI 转换为文件

如何转换来自FileReaderAPI结果的数据URI转换成可以保存在Ruby文件系统中的图像文件?我目前正在尝试做的是使用base64解码将如下所示的data_uri字符串:data:image/jpeg;base64,/9j/4AAQSkZJRgABAQEAYABgA...转换为base64编码字符串因为根据这个stackoverflowanswer我需要将所有空格实例替换为+。答案是在PHP中,但我目前正在研究Ruby和Sinatra,所以我不确定它是否仍然适用,但是当使用等效代码时:src=data_uri.gsub!'','+'src=Base64.decode64(src)